﻿namespace Remoting.Reactive
{
    public interface IMessageFactory
    {
        IActivationRequest CreateActivationRequest();
        IActivationResponse CreateActivationResponse();
        IInvocationRequest CreateInvocationRequest();
        IInvocationResponse CreateInvocationResponse();
        ISubscribeRequest CreateSubscribeRequest();
        ISubscribeResponse CreateSubscribeResponse();
        IOnNextMessage CreateOnNextMessage();
        IOnErrorMessage CreateOnErrorMessage();
        IOnCompletedMessage CreateOnCompletedMessage();
        IDisposeMessage CreateDisposeMessage();
    }
}
